package cn.hy.机考.part04;

import java.util.Scanner;

/**
 * @author hy
 * <p>
 * 三十六、GPU 执行时长
 * 数组元素表示在这 1s 内新增的任务个数，且每秒都有新增任务，
 * 假设 GPU 最多一次执行 n 个任务，一次执行耗时 1s，在保证 Gpu 不空闲的情况 下，最少需要多长时间执行完成。
 * 第一个参数为 gpu 最多执行的任务个数
 * 第二个参数为任务数组的长度
 * 第三个参数为任务数组
 * 输出描述:执行完所有任务需要多少秒
 * 3
 * 5
 * 1 2 3 4 5
 * 输出:6
 */
public class Demo36 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int taskNum = Integer.parseInt(scanner.nextLine());
        int time = Integer.parseInt(scanner.nextLine());
        String[] strs = scanner.nextLine().split("\\s+");

        int flag = 0;//余数
        for (int i = 0; i < strs.length; i++) {
            int currentTask = Integer.parseInt(strs[i]);
            // 当前剩余工作 = 当前工作 + 之前剩余工作 - 每次能做的工作
            flag = Math.max((currentTask + flag) - taskNum, 0);
        }
        while (flag > 0) {
            flag = Math.max(flag - taskNum, 0);
            time++;
        }
        System.out.println(time);
    }
}
